home *** CD-ROM | disk | FTP | other *** search
/ Zoom 2 / Zoom - Release 2 (1996)(Active Software)[!].iso / utilities / comms / irc / grapevine / docs / changes < prev    next >
Encoding:
Text File  |  1995-09-07  |  61.0 KB  |  1,387 lines

  1. Changes made to Grapevine for each release:
  2. (*) Denotes features available only in the REGISTERED version of the program.
  3.  
  4. VERSION  CHANGES / BUGS FIXED
  5. -----------------------------------------------------------------------------
  6.  1.452 - Changed left column text of "Channel was created on ..." Undernet
  7.          message from "Topic" to "Channel".
  8.  
  9.          The server port number now always defaults to 6667 if the port
  10.          number is not specified in /SERVER or the server connect window.
  11.          Previously the port number was left the same as the last session if
  12.          not specified.
  13.  
  14.          If a CTCP message from a user is received that Grapevine does not
  15.          recognize, it will attempt to load a script called "CTCP.cmd", where
  16.          cmd is the unknown CTCP command.  This allows the user to extend the
  17.          functionality of Grapevine to add things like XDCC or op lists and
  18.          even create bots.  The arguments passed to the script are
  19.          "nick user@host parameters...".
  20.  
  21.          Quit and Kick messages now show the user@host of the user.
  22.  
  23.          The channel window scrollbar and highlighted names in the user list
  24.          were not properly visible on a 2-color screen.
  25.  
  26.          Added new command, /DISPLAY, which takes arguments of "ON" to enable
  27.          or "OFF" to disable the output of all text in the channel windows.
  28.  
  29.          Nickname is now changed in all title bars when you change your nick
  30.          instead of only one window.
  31.  
  32. *        Seemingly fixed a strange problem that would cause the use of the
  33. *        /RX command to lock up Grapevine or paste the pathname of the
  34. *        script at the end of the command's arguments.
  35.  
  36.  1.405 - It was previously possible to query the same person in multiple
  37.          windows.  Incoming messges from that person would only appear in
  38.          one of those windows.  Now if you query someone a second time in a
  39.          different window, the query will move to that window.
  40.  
  41.          Duplicate entries are now prevented from being added to the ignore
  42.          and notify lists.
  43.  
  44.          It was previously possible to enter strings for server name and
  45.          server password in the network settings that were much larger than
  46.          the string sizes in program variable storage space.  Entering
  47.          strings that were too long caused bad side effects.  (Server name
  48.          is now limited to 49 characters in the string gadget, and password
  49.          is limited to 19.)
  50.  
  51. *        There is now a path setting for the location of ARexx files in the
  52. *        distribution.  This path will be checked for Grapevine ARexx scripts
  53. *        before any others.  The order of path checking is as follows:
  54. *
  55. *            Grapevine ARexx path setting
  56. *            Grapevine program directory
  57. *            REXX:
  58.  
  59. *        The basename of the Grapevine ARexx port is now GVREXX instead of
  60. *        GV_REXX.  Similarly, the file extension for Grapevine ARexx scripts
  61. *        is now ".gvrexx" instead of ".gv".  These changes simplify the
  62. *        ARexx script execution code in Grapevine.  Make sure you rename your
  63. *        startup and shutdown script extensions to .gvrexx.
  64.  
  65.  1.394 - Opening the display settings window now will not crash AmigaDOS 2
  66.          systems.  This was sort of fixed before, but only because I
  67.          temporarily removed the palette gadget and forgot to re-enable it.
  68.          So the palette gadget is also back where it belongs.
  69.  
  70.          Changing your fonts or using new display settings will also no
  71.          longer crash AmigaDOS 2 systems.  Thanks to my friend Mark Strand
  72.          for loaning me a 3MB A500 that I can boot AmigaDOS 2 on for testing
  73.          and debugging Grapevine.  Without it these AmigaDOS 2 bugs may
  74.          never have been fixed properly.
  75.  
  76.          The channel window string gadget was not being aligned properly
  77.          after I took out the op/voice status indicator
  78.  
  79.          The nickname in the titlebar is now updated as soon as you change
  80.          your nickname.
  81.  
  82.          Fixed a new bug that prevented you from joining a channel if you
  83.          already tried but were banned, used the wrong key, or tried to join
  84.          a full channel.  Also prevented you from joining any channel in a
  85.          window in which you tried to join an invalid channel.  Bug was
  86.          introduced when I fixed the join bug in 1.373.
  87.  
  88.  1.375 - Removed double Enforcer hits that occurred every time a message was
  89.          added to the window in 1.373.
  90.  
  91.  1.373 - Nickname and op/voice status now appears in the title bar until I
  92.          do the status bar.  When the status bar is in place, this title
  93.          format will be used if the status bar is disabled.
  94.  
  95.          Disk logging now uses asynchronous file output, so there are no
  96.          more delays while the log is being written.
  97.  
  98.          The channel join bug listed in the "Bugs" file is now gone.
  99.          Channels are now always joined in the window in which the join
  100.          command was issued (provided the project is not already used for a
  101.          channel or another join in that project is not pending).
  102.  
  103.  1.365 - Alias removal was broken.  Aliases can now be properly removed.
  104.  
  105.          Leading '/' before aliased commands is now ignored.
  106.  
  107.          Arguments are now properly passed to aliased commands.  Oops.
  108.  
  109.          The ignore removal message is printed in the current window where it
  110.          was supposed to be.
  111.  
  112.  1.363 - Added /ALIAS.  This is implemented thus far as simple aliases.  No
  113.          variable options are supported--the given alias is executed as-is
  114. *        with no argument expansion.  Use an ARexx script if you need to
  115. *        expand or parse options.  The maximum number of recursive iterations
  116.          allowed is currently hardcoded to 10.  (NOTE: Rescursive aliases
  117.          increase program stack usage slightly.)
  118.  
  119.          Settings files are loaded from PROGDIR: again. (This was broken in
  120.          post-1.182 beta revisions.)
  121.  
  122.          /IGNORE now applies to CTCP ACTION messages.
  123.  
  124.  1.347 - Fixed some problems with font loading.  Grapevine was not explicitly
  125.          looking for a plain font, so there was a chance that it would load
  126.          an italic or bold disk font if one existed (i.e., 11i or 11b).
  127.  
  128.          Settings files are now listed in the Load/Save Settings requesters.
  129.          The wrong ASL pattern tag caused no files to be displayed.
  130.  
  131.          Eliminated the pixel dust in the string gadget area that was left
  132.          after the window size was reduced vertically in 1.288.
  133.  
  134.          /IGNORE is now mostly implemented.  The kinds of messages to ignore
  135.          is not yet an option--it will ignore all public text, /msgs, and
  136.          /notices from the specified user.  Ignore format is nick!user@host.
  137.          No notification is yet sent to the other user that he/she is being
  138.          ignored.
  139.  
  140.          Fixed a problem in 1.288 that caused both /'s to appear in a "//"
  141.          message.  ("//test" should have appeared as "/test" as a public
  142.          message.  This was broken some time after 1.182.)
  143.  
  144.          If you specified a filename for a log file, the log would be put in
  145.          the current working directory (/CD).  However, if you did not give a
  146.          filename, the log with default filename would incorrectly not go to
  147.          the current directory, but rather would be put in the Grapevine
  148.          directory.  All logs now properly go to the current dir.
  149.  
  150.          You can now start Grapevine without connecting to a server by
  151.          specifying the NOSERVER command line option.
  152.  
  153.          You can now specify the startup and shutdown script names with the
  154.          STARTUP and SHUTDOWN command line options.  Grapevine will inform
  155.          you if it cannot load the scripts if you used one of these options.
  156.          Defaults are still "startup.gv" and "shutdown.gv".
  157.  
  158.          The palette gadget in the Disply settings window now shows the
  159.          proper number of colors for the display mode (maximum 8).
  160.  
  161.          Removed V39-only commands from Amigaguide documentation.
  162.  
  163.  1.288 - The stack size is now checked when the program is run.  If it is
  164.          less than 8192 bytes a requester is displayed and the program exits.
  165.  
  166.          /OPENLOG was changed to /LOG, and now accepts a filename argument.
  167.          If no argument is specified, the filename will be "GVLog.<proj>"
  168.          and will be placed in the current directory (set by /CD).
  169.  
  170.          Program now calls DisplayBeep() if a message contains a ^G.  Only
  171.          beeps once, regardless of how many beeps are packed in a message.
  172.          Beeps can be toggled with the "Enable Text Beeps" menu option in the
  173.          Settings menu.
  174.  
  175.          Added /SILENCE Undernet command.  Silence is a server-based ignore
  176.          facility.
  177.  
  178.          Added support for all Undernet command responses/extensions: ban
  179.          setter/time, channel creation time, user signon time, and topic set
  180.          time.  (Topic setter name was already supported.)
  181.  
  182.          Added /USERHOST command.
  183.  
  184.          Began the shift to a new interface layout by removing the nickname
  185.          and the op/voice status indicator from the bottom of the channel
  186.          window.  For now they are shown in the titlebar while the rest of
  187.          the interface is under construction.
  188.  
  189.          Intuition.library is now used instead of asl.library to determine
  190.          the OS revision being used.  (ASL was used because some people try
  191.          running KS V39 or newer without replacing their disk-based libraries
  192.          appropriately.)
  193.  
  194.          Found one bug that caused the Display window to crash on <V39
  195.          on some systems.  Unfortunately there are still others.
  196.  
  197.          Fixed a bug in reporting nickname changes.  If your nick was "Alf"
  198.          and someone named "Alfred" changed his nick, it would be reported
  199.          as you changing your nick.
  200.  
  201.          The channel text gadget now supports proportional fonts.
  202.  
  203.          Fixed a bug that caused one character to not be displayed if a huge
  204.          word was wrapped by hyphenation.
  205.  
  206.          /OPENWIN now accepts window position/size arguments.  Specify -1 to
  207.          use the default value of each argument.  (-1 for top will cause it
  208.          to position below the current window.)
  209.          
  210.          Added a /CHANGEWIN command to alter the position/size of the
  211.          specified project window.  Specify -1 to not change that value.
  212.  
  213.          /NOTIFY with no arguments now shows any users in the list that are
  214.          currently online in addition to displaying the whole list.
  215.  
  216. *        An ARexx macro "shutdown.gv" is now run on exit if startup.gv was
  217. *        run (or attempted to run).
  218.  
  219.          Removing a name from the notify list is no longer case-sensitive.
  220.  
  221.          Disk logging is done.  Start the log with /OPENLOG and close it with
  222.          /CLOSELOG.
  223.  
  224.          Notify was trying to do its thing even if there was no server
  225.          connection.  In such a case, error messages were printed every 20
  226.          seconds.
  227.  
  228. *        ARexx is now partially implemented.  All /commands are accessible
  229. *        from ARexx, although no results are returned to Grapevine (nor are
  230. *        any program variables).  In addition, a script "startup.gv" is run
  231. *        after the MOTD has been processed.  The Grapevine directory is
  232. *        searched first, followed by REXX:.
  233.  
  234.          /NOTIFY is now implemented to automatically inform you when specified
  235.          users sign on/off of IRC.  The list is checked every 20 seconds.
  236.  
  237.          /SETMSGWIN and /SETCRAPWIN were not properly setting to the current
  238.          window if no arguments were specified.
  239.  
  240.  1.182 - The op/voice status gadget is disabled for AmigaDOS 2, but I forgot
  241.          to leave it enabled under V39.
  242.  
  243.  1.180 - Should now be compatible with AmigaDOS Release 2.  For the time
  244.          being, custom screen support and the op/vocie status image in the
  245.          lower left corner of channel windows have been disabled until
  246.          compatibility problems can be fixed.
  247.  
  248.          DCC.Chat.AS225 is now included.  Also, DCC.Send and DCC.Move are no
  249.          longer in the DCC directory, but are included in another archive
  250.          with their own install script.
  251.  
  252.          Fixed up inconsistencies in message placement in query mode.
  253.          Described commands received by someone you are querying now go to
  254.          that query window.  If you are querying someone and do a /MSG or
  255.          /DESCRIBE to them, that message will now be shown in that query
  256.          window.  Furthermore, all other /DESCRIBE messages sent are now
  257.          echoed in the message window instead of the crap window.
  258.  
  259.          Added /SAY command to send a public message to the channel while in
  260.          /QUERY mode.
  261.  
  262.          Gadget resizing is now much cleaner after you resize a channel
  263.          window.
  264.  
  265.          GV now exits friendly-like if default fonts could not be loaded,
  266.          thus avoiding a nasty crash.  A requester is presented.
  267.  
  268.          Font size was sometimes messed up returning from the ASL font
  269.          requester, especially if Mungwall was running.  57001 would be used.
  270.  
  271.          Messages to a channel will no longer be displayed between the time
  272.          you /LEAVE a channel and the arrival of the "part" message from the
  273.          server.
  274.  
  275.          If there was another nickname that was like yours but longer (e.g.,
  276.          your nickname is "foo" and someone else's nickname is "foobar",
  277.          then if the longer nick was channel operator or voiced, Grapevine
  278.          would think you were op or voiced too.
  279.  
  280.          New commands: /SETMSGWINDOW and /SETCRAPWINDOW to set the msg/crap
  281.          windows; /WINDOW to activate the specified project window number;
  282.          /ISON to see if the specified users are online.
  283.  
  284.          Typing "/summon" with no arguments sent out a blank summon message
  285.          anyway, which resulted in an Enforcer hit.
  286.  
  287.          Fixed a bunch of GUI layout quirks that happened if you changed the
  288.          screen/gadget font to something other than the parent screen's font.
  289.  
  290.   1.40 - Ping and Kick menu items were being disabled when you were not a
  291.          channel operator instead of Kick and Ban.
  292.  
  293.          Added an Op/Deop menu item with command key "O" to the Channel menu.
  294.  
  295.          DCC redirection in serial mode was looping if your nickname was the
  296.          same as your DCC redirection nickname.
  297.  
  298.   1.38 - Fixed the port thing but broke the port for people without a settings
  299.          file, which is what I was trying to fix when I broke it in the first
  300.          place.  :)
  301.  
  302.   1.37 - Broke the port number setting recognition in the Network settings
  303.          window in V1.33.  It is now recognized again.
  304.  
  305.          Hitting return in the "Default nickname" field of the User settings
  306.          window was not causing the next gadget to be activated.
  307.  
  308.   1.36 - Ezy updated irclink to (hopefully) work with systems like NEXTSTEP
  309.          and DYNIX that do not support termios.
  310.  
  311.          If socket setup fails, more useful information should now be
  312.          displayed in the error requester.
  313.  
  314.          Added "Query" menu item to the Channel menu.  If a user is selected,
  315.          a query will be initiated with that user.  If no user is selected
  316.          and query is active for a user, then query will be disengaged.
  317.  
  318.          Messages from a person being queried were not going to the right
  319.          window if it was different from the set message window.
  320.  
  321.          /CLEAR was resetting the buffer size to 64K, although it would not
  322.          show up as such in the program settings window.
  323.  
  324.   1.33 - Dumb mistake in 1.32 disallowed User and Network settings from being
  325.          used.
  326.  
  327.   1.32 - Channel mode windows were all using the same string, so if more
  328.          than one was open they would all display the same title.
  329.  
  330.          The "Toggle Icon Window" menu item was moved to the "Reveal" submenu
  331.          in the "Project" menu.  Also, it now only opens the window or brings
  332.          it to the front, and does not toggle its opened status.
  333.  
  334.          Contents of keyword and user limit string gadgets were not being
  335.          copied when "Use" was selected, so it was necesary to hit return
  336.          before new values were recognized.
  337.  
  338.          Added font settings window.  Fonts can be defined for the screen
  339.          (including gadget labels), the channel text display, the channel
  340.          input gadget, and the channel namelist window.
  341.  
  342.          Fixed a problem with the /KILL command that rendered it useless.
  343.  
  344.          The style of the nickname field in the channel text display window
  345.          was not that for sending a /MSG if QUERY mode was on.
  346.  
  347.          If the text gadget filter was turned on in the system IControl prefs
  348.          inserting a style character would also overwrite the character under
  349.          the cursor with a second style character.
  350.  
  351.    1.1 - /QUERY command implemented for continuous messaging of a single
  352.          user without using "/msg nickname".
  353.  
  354.          If socket.library was successfully opened but socket setup failed,
  355.          selecting "Cancel" in the error requester caused a software failure.
  356.  
  357.          Fixed enforcer hits that happened when "Use" was selected in the
  358.          User and Network settings.
  359.  
  360.          Included a new DCC.Send that is hopefully stable again.  The one
  361.          included in the first Grapevine release was very unreliable.
  362.  
  363.    1.0 - Initial public release.
  364.  
  365. =============================================================================
  366.  
  367. Changes made to Grapevine during development stages:
  368.  
  369. VERSION  CHANGES / BUGS FIXED
  370. -----------------------------------------------------------------------------
  371. 0.2035 - Now using the same font for the channel input gadget as for the
  372.          text display area.
  373.  
  374. 0.2032 - Cleaned up some problems with menu ghosting.
  375.  
  376.          If you started with a new config file, changing screenmodes would
  377.          set the buffer scroller to the top.  Somehow this didn't happen if
  378.          you had a config file from way-back-when.
  379.  
  380. 0.2021 - Menu items that require channel operator status are now disabled if
  381.          you are not a chanop.
  382.  
  383.          Added settings menu item "Ask Kick Reason".  If it is enabled, you
  384.          will be prompted for a kick reason with a string requester when you
  385.          use the kick icon or menu item.
  386.  
  387.          Added "Kill" item to server menu.  Brings up a string requester to
  388.          ask for kill reason.  Disabled if you are not an IRC operator.
  389.  
  390. 0.2012 - Hotkeys for Reveal Next/Prev were changed to "." and ",".
  391.  
  392.          Added /CLEAR command to clear buffer.  "Buffer cleared" message now
  393.          displayed on clear instead of copyright/intro notice.
  394.  
  395.          "/RAW PART" was not causing Grapevine to leave a channel even though
  396.          the server performed the leave.
  397.  
  398.          If you changed the custom screenmode, channel buffer size and message
  399.          spacing settings were being ignored.
  400.  
  401.          Menu checkmarks were not updated if the screenmode was changed.
  402.  
  403.          Palette changes in the display settings window were not being used
  404.          if the screen was not reset by some other operation in that window.
  405.  
  406.          Added command /WALLOPS for IRC operators.
  407.  
  408.          Eliminated possibility of enforcer hits on garbled /msg and /notice
  409.          messages.
  410.  
  411.          Fixed a possible problem that occurred if socket setup failed (hits
  412.          and crash).
  413.  
  414.          Cleaned up the menus a bit.
  415.  
  416. 0.2000 - Cleaned up some icons and changed some of the images.  Also updated
  417.          the About window image.
  418.  
  419.          Fixed a rare  enforcer hit in /CLOSEWIN that could happen if a
  420.          project number was not specified.
  421.  
  422.          Adjusted prop gadget spacing a little better in the channel window.
  423.  
  424.          The Leave icon was bringing up a requester even if "Confirm
  425.          Requesters" was turned off.
  426.  
  427. 0.1996 - Right border window gadgets are now compatible with sysihack.
  428.  
  429.          User modes are now saved in the settings file and are automatically
  430.          reset when you connect to the server.
  431.  
  432.          Tabs are now properly inserted in the channel string gadget.  They
  433.          are logical tabs, hardcoded for 4-column alignment.
  434.  
  435.          All string gadget contents in the settings windows are now copied
  436.          when "Use" is selected, making it unnecessary to hit sreturn first.
  437.  
  438.          Appropriate warning requesters are displayed if there is invalid
  439.          data input into one of the string gadgets in settings windows.
  440.  
  441.          Fixed numerous Enforcer hits in the channel text display gadget.
  442.          One would occur if there were style characters but no text characters
  443.          in a message, and two others would occur when the channel window was
  444.          first opened.
  445.          
  446.          Fixed a enforcer hits in the requester routines if setup of TCP
  447.          or serial failed.
  448.  
  449.          Requesters brought up because of actions in the settings windows
  450.          were not being displayed on the Grapevine screen if it was not on
  451.          the Workbench.
  452.  
  453.          Cursor keys are now active for scrolling the channel text.
  454.          ALT+cursor up/down moves by page, overlapping one line. CTRL+cursor
  455.          up/down moves to the top and bottom of the buffer.
  456.  
  457.          Indication of the currently "active" project number is now shown in
  458.          the icon window titlebar.  If a channel is joined in that window, its
  459.          name will be displayed.
  460.  
  461.          Custom screen public screen title was shortened in 0.1969, but the
  462.          window screen titles were using the same title instead of the long
  463.          title with program+version info.
  464.  
  465. 0.1969 - If Grapevine cannot close a GV-owned custom public screen, a
  466.          requester now asks if you want to retry, leave the screen open,
  467.          or cancel the operation.  If you leave the window open, it will be
  468.          your responsibility to close it with a public screen manager.  If
  469.          you cancel the operation, Grapevine will continue to operate on the
  470.          open custom screen.
  471.  
  472.          Fixed a serious bug that potentially crashed the machine because the
  473.          program was running out of signals when too many projects were
  474.          opened.  Grapevine was not graceful in handling such failures.
  475.  
  476.          The program should now be MUCH more graceful in low-memory
  477.          situations.  System requesters are popped when failures occur in
  478.          opening a new project, opening windows, and various system setup
  479.          errors (such as TCP and serial setup).
  480.  
  481.          An appropriate message is now displayed in the appropriate window
  482.          when the Set Message/Crap Window menu items are selected.
  483.  
  484.          Fixed up some of the menu language and item ordering.
  485.  
  486.          Clicking on the away icon unselected a selected name in the namelist.
  487.  
  488.          Clicking op/voice if no user is selected now beeps like the other
  489.          user-operator icons do.
  490.  
  491.          Cleaned up various icon images and changed some.  The icon that was
  492.          for whois before (person with "?") is now user modes since it is
  493.          similar to the channel mode icon.  The voice icon was replaced with
  494.          a more suitable icon (person with sound waves), and the new whois
  495.          icon is a person with a triangle pointing at the head.
  496.  
  497. 0.1956 - New settings menu item "Skip MOTD" replaces the "Ignore Blotto" item.
  498.          Yes, that was just a joke an not a permanent feature of Grapevine. :)
  499.          The setting of it will be whatever you had "Ignore Blotto" set to
  500.          before.
  501.  
  502.          Fixed a new hit in the topic fix of 0.1952.
  503.  
  504.          Double-clicking a user in the namelist window will show WHOIS info
  505.          for that user.
  506.  
  507. 0.1952 - Grapevine now checks for a V39 ROM library and pops a retry/cancel
  508.          requester if it is not found.
  509.  
  510.          If connection to server was lost, op/voice status image was not
  511.          cleared on rejoining a channel.
  512.  
  513.          Topic was not being cleared when leaving a channel, so if you left
  514.          a channel with a topic, and returned to it with no topic set, the
  515.          old topic was shown in the titlebar.
  516.  
  517. 0.1948 - A Retry/Cancel requester is now popped if socket.library cannot be
  518.          opened.
  519.  
  520.          Enforcer hits were happening if socket.library could not be opened.
  521.  
  522.          "Cancel" in the Display settings window was not resetting the
  523.          palette on a custom public screen.
  524.  
  525.          All keyboard equivalents now work in the Display and Program settings
  526.          windows.
  527.  
  528.          In the network settings, Autojoin wasn't being activated after
  529.          hitting return in the gadget above it.
  530.  
  531.          Fixed two enforcer hits new to 0.1934 that occurred when the channel
  532.          window was opened.
  533.  
  534.          /CLOSEWIN and the Close menu item left the program running in a
  535.          dangerous state if the last project was closed.
  536.  
  537.          Since 0.1933, If GV screen settings were changed or reset, channel
  538.          windows were opened with the scroller at the top of the buffer.
  539.  
  540. 0.1934 - If the channel string history was decreased to a number lower than
  541.          the number of strings in the history, an infinite loop resulted.
  542.  
  543. 0.1933 - Control keys in the channel string gadget were being read as rawkey,
  544.          so if the current keymap wasn't usa, some of the keys might not have
  545.          logically corresponded with the right character (i.e., ^_ was not
  546.          actually the right key).  This is fixed now.
  547.  
  548.          Added the final configuration window, "Program Config".  This window
  549.          is for setting a few program operation parameters.  Right now, these
  550.          parameters are channel scrollback buffer size, number of history
  551.          lines for the channel string gadgets, and the number of pixels
  552.          inserted between separate messages in the channel window.
  553.  
  554.          Typing "/WHO" with no arguments now displays info for the active
  555.          channel.  "/WHO *" still displays info for the last channel that you
  556.          joined, which is normal IRC behavior.
  557.  
  558.          The new Who menu item was improperly displaying info for the last
  559.          channel joined, and not the current channel.
  560.  
  561. 0.1916 - Moving the icon window in 0.1914 caused all project windows to open
  562.          and caused the machine to lock.  Amazing what forgetting a break
  563.          statement in switch() can do.
  564.  
  565. 0.1914 - Eliminated enforcer hits in /CD, /CDREQ, /DCC, and User Config window
  566.          opening that occurred if you were using TCP.
  567.  
  568.          If string gadget filter was off, unused ctrl chars were mistakenly
  569.          allowed to appear in the text gadget.  Only ^G/^B/^V/^_ are allowed,
  570.          which behavior was described for 0.1907.
  571.  
  572.          Added menu items to the Channel menu for Who, WhoIs, Kick, Ping,
  573.          Names, Ban, and BanList.
  574.  
  575.          Username is now shown in the user modes window title, and channel
  576.          name is shown in the channel modes window title.
  577.  
  578.          Program menus are now active in the icon and namelist windows.
  579.  
  580. 0.1907 - Added control-character handling to the channel string gadget.  Now
  581.          the only four recognized control characters are ^G, ^B, ^V, and ^_.
  582.          All other control characters are disregarded if text gadget filter
  583.          is turned off in the IControl system prefs or passed on to the OS
  584.          if the filter is on for various editing functions.
  585.  
  586.          Maybe fixed a possible enforcer hit in the channel text display.
  587.  
  588.          The Close menu item now has a hotkey, RAmiga-!.
  589.  
  590.          There is now an autojoin channel option in the Network settings.
  591.          If this field is set, that channel will automatically be joined when
  592.          you first run Grapevine.
  593.  
  594.          Added delays into rejoin-on-server-reconnect to work properly with
  595.          Multilink.
  596.  
  597.          /EXIT and /BYE are now additional aliases for /QUIT.
  598.  
  599.          There's an essential new item in the Settings menu.  Look and see.
  600.  
  601.          Notices from the server are now printed as «Server» instead of
  602.          normal notices.
  603.  
  604.          The GV intro message is now printed after the scrollback buffer is
  605.          cleared with the "Clear Buffer" menu.  Also, the intro message was
  606.          updated.  It actually still called the program alpha, even though
  607.          it has been beta for many moons.
  608.  
  609.          If the message and/or crap windows were closed, other titlebars were
  610.          not updated to show which were the new msg/crap windows.
  611.  
  612. 0.1871 - Fixed enforcer hits on startup and in the Load Settings menu.
  613.  
  614. 0.1870 - Finally fixed the cleanup_sockets() problem!  Turned out not to be
  615.          any problem in Grapevine at all, but a problem with DICE interpreting
  616.          "0" differently from "00" in the parameters field of a #pragma.  I
  617.          "fixed" the pragmas file and now everything is all working great.
  618.  
  619.          Typing "/RAW AWAY" would set away status on the server, but status
  620.          was not being updated in Grapevine.
  621.  
  622.          Message/crap window settings are indicated in the corresponding
  623.          windows' title bars by the project number.  A "m" indicates message
  624.          window (where private messages and notices are sent, and "c"
  625.          indicates crap window (where errors and other messages are sent).
  626.  
  627.          Added two new menus: Server and Personal.  The Server menu contains
  628.          items related to server connections and operations.  The Personal
  629.          menu contains items related to user status.  The User Modes item was
  630.          moved to the Personal menu. In addition, a whole bunch of of new
  631.          menu items were added:
  632.          
  633.            Project:
  634.                Clear Buffer - Clears the current window's scrollback buffer.
  635.                Set Message Window - Send messages to the current window
  636.                Set Crap Window - Print misc/error messages to this window.
  637.                Reveal Next (RCommand-;) - Activate next project.
  638.                Reveal Previous (RCommand-') - Activate previous project.
  639.            Server:
  640.                Open - Open connection to a new server/port.
  641.                Close - Close connection to current server.
  642.            Personal:
  643.                Mark Away - Toggle user away status.
  644.            Settings:
  645.                Verbose CTCP - Inform user when somebody sends a CTCP request.
  646.                Beep On Msg - Beep on arrival of private messsages and/or
  647.                              notices.  Optionally beep only when marked away.
  648.  
  649.          Channel modes were not being cleared in a project if you left or
  650.          got kicked out of a channel, got killed for some reason, or changed
  651.          servers.  If modes that were deasserted before you rejoined the
  652.          channel, they still appeared as being asserted to Grapevine.
  653.  
  654.          If server connect fails, the reason is now reported.
  655.  
  656.          Load Settings now works correctly.  It was causing 10 channel
  657.          windows to open and then the program would exit.  Also, the screen
  658.          setup stuff was quite incomplete, and would really mess up if a
  659.          custom screen was involved.
  660.  
  661. 0.1843 - MaxChars on the path config string gadgets was set way too low.
  662.          Reset to 127 where it should be.
  663.  
  664. 0.1842 - DCC program existence checking was using the old filename format.
  665.  
  666. 0.1840 - Completely organized the Grapevine directory structure into a
  667.          form suitable for release.
  668.  
  669.          DCC program filenames are now more detailed since there are several
  670.          methods of communications supported.  For example, for AS225 the
  671.          filename for DCC send is "DCC.Send.AS225, and for DNet it is
  672.          "DCC.Send.DNet".  This avoids the confusion of calling incompatible
  673.          programs by the same filename and avoids requiring users to do
  674.          any renaming of the programs when they use a different method
  675.          of communications.
  676.  
  677.          Added path configuration window.  Currently this window contains
  678.          two paths: DCC program drawer, which is the drawer where all the
  679.          DCC programs are located; and default DCC path, which is the
  680.          default value of the current directory when GV is first run.
  681.  
  682.          Typing "/DCC" with no arguments is now equivalent to /DCCLIST.
  683.  
  684.          Fixed the /CD command.  It now works completely, even with such
  685.          utilities as UnixDirs.
  686.  
  687.          Added command /CDREQ, and accompanying menu option "Change Current
  688.          Directory", that brings up an ASL path requester.  It is quickly
  689.          accessible with rcommand-D.
  690.  
  691.          Moved the "Toggle Icon Window" menu option to the Misc menu.
  692.  
  693. 0.1824 - Reactivated DCC redirection for serial users, unless dnet.device
  694.          is being used.  If you are using DNet, use the new DCC.Send.DNet
  695.          program included in the archive, but be sure to rename it to
  696.          "DCC.Send".  The /DCC command does not work for DNet though.
  697.  
  698. 0.1817 - The join and ban icons now bring up a string requester (and the
  699.          join icon works).  A suggested ban pattern is placed in the
  700.          string gadget for you to accept or change as desired.  (At this
  701.          time it is only a simple nick!*@* pattern, but this will be
  702.          improved.)
  703.  
  704.          Options to join and leave channels were added to the program
  705.          menu, accessible with Amiga-J and Amiga-L hotkeys, respectively.
  706.  
  707.          Grapevine now has numerous confirmation requesters for the following
  708.          operations when selected from the menu or the icon toolbar: close
  709.          project, leave channel, and quit.  Furthermore, when the close
  710.          gadget of a channel window is selected, you will be asked for
  711.          confirmation to close the window, and if a channel is joined in
  712.          that window, "leave channel" will be an option in the requester.
  713.          If the close gadget on the last open project is selected, the
  714.          confirmation option is "quit" instead of "close".  Confirmation
  715.          requesters are never presented if an action was taken through
  716.          input /commands.
  717.  
  718. 0.1790 - If the shinepen and shadowpen were set in the palette prefs to
  719.          a pen number >3, the channel text gadget borders were rendered
  720.          wrong.  Likewise, if textpen or backgroundpen were set >3, text
  721.          would be rendered wrong.  Of course, textpen and backgroundpen
  722.          are not changeable in any OS through V40 anyway, but any future
  723.          problems are now avoided.  In fixing text mask stuff, with
  724.          background and text pens of 0 and 1 respectively, text scrolling
  725.          speed in the channel window was increased noticably (not that it
  726.          wasn't already fast :).
  727.  
  728.          Fixed a bug in the display config window that prevented screenmode
  729.          from being selectable if you were using a private custom screen
  730.          before that display type was removed.  Display type now properly
  731.          reset to custom public screen.
  732.  
  733.          The Quit menu option now brings up a confirmation requester.
  734.  
  735.          If Grapevine cannot close its custom public screen, a Retry/Cancel
  736.          requester will pop up reminding you that all windows from other
  737.          programs must be closed before GV can close the screen.  If you
  738.          select Cancel, Grapevine will unlock the screen and exit, leaving
  739.          you responsible for closing the screen later with a public screen
  740.          manager if so desired.
  741.  
  742.          The 8-color icon menu option is now disabled if the current screen
  743.          is less than 3 bitplanes, and 4-color icons are used.
  744.  
  745.          The "Open Icon Window" menu option is now "Toggle Icon Window".
  746.          Selecting it will toggle the open/close status of the icon window.
  747.  
  748.          When connecting to a server or when using a modal requester
  749.          (e.g., ASL), the busy pointer is now set in all Grapevine windows.
  750.  
  751.          /CD command now works properly, and the path is now passed to DCC
  752.          programs.
  753.  
  754.          Fixed an enforcer hit in the case that no arguments were given for
  755.          /DCC.
  756.  
  757. 0.1758 - If other windows were up on Grapevine's custom public screen, the
  758.          program would quit without closing the screen.  Grapevine now waits
  759.          until the screen is closed before quitting.
  760.  
  761. 0.1757 - /DCC was passing user arguments wrong.
  762.  
  763.          /DESCRIBE now outputs target nickname.
  764.  
  765.          Notices to domains (e.g., *.edu) were being printed twice.
  766.  
  767. 0.1743 - Menu key presses from the channel string gadget were causing the
  768.          input string to be used as if return were pressed.
  769.  
  770. 0.1741 - ALT+right/left cursor in the channel string gadget now moves between
  771.          the beginnings of words.
  772.  
  773. 0.1739 - History string space is now dynamically allocated instead of using
  774.          285 bytes per string automatically.
  775.  
  776.          DCC.Send was messing up if a full path was given with the filename
  777.          by the remote user.
  778.  
  779.          Removed the beeps at the top/end of the command history.
  780.  
  781. 0.1736 - DCC is now as complete as it is likely to be until it gets a GUI
  782.          in the future.  Added commands /DCC, /DCCLIST, and /DCCCLR.  Note
  783.          that /DCC will not work yet with DCC.Send since it does not have
  784.          sending stuff yet (only receive).
  785.  
  786.          Channel string gadget history *FINALLY WORKS*!!  I've been trying
  787.          for MONTHS to get the hook to be called correctly, and now it is.
  788.          There is currently a 50-string history limit until I do the
  789.          last config window.
  790.          
  791.          Menu hotkeys are now accessible from the channel string gadget.
  792.          Be careful with Amiga-Q though.  It will quit the program without
  793.          asking you.
  794.  
  795.          "Custom Screen" option was removed from the display config.  All
  796.          Grapevine custom screens will now be made public. ("Custom Public
  797.          Screen").
  798.  
  799.          Fixed string/status gadget positioning problem with small fonts.
  800.  
  801.          Fixed stupid bug in /QUIT command that was causing TCP functions
  802.          to be called in serial mode.
  803.  
  804. 0.1696 - Old "DCCA.Send" is now obsolete.  Use the new "DCC.Send".  From now
  805.          on, DCC programs will be called "DCC.<type>".  Parameters are now
  806.          passed to DCC clients that specify where it should place the GUI
  807.          and who the DCC is from.
  808.  
  809.          Chanop/Voice images now cleared when kicked out of or when leaving
  810.          a channel.
  811.  
  812.          Custom public screens are now named with a trailing .# to avoid
  813.          conflicting screen names.  Public screen name is displayed in the
  814.          titlebar.
  815.  
  816. 0.1666 - Fixed enforcer hits on opening of custom screens. By fixing this,
  817.          Grapevine will also now use the fonts that are defined for any
  818.          screen Grapevine opens on, instead of only the original or Workbench
  819.          screen.
  820.  
  821.          A string of ^G's was messing up word-wrapping.
  822.  
  823.          The inverse style character (^V) was being detected wrong since
  824.          0.1649.
  825.  
  826.          A line of nothing but style control characters will cause a hit.
  827.  
  828.          Channel mode window can now be opened even if you are not a channel
  829.          operator.  However, the "Use" button in channel mode requester is
  830.          disabled if you are not a channel operator.
  831.  
  832. 0.1663 - Fixed a BAD bug in settings file saving.  If an older version of a
  833.          config file was loaded, the same version number would be saved if
  834.          "Save Settings" was performed.  Then the new prefs info was not
  835.          loaded next time.
  836.  
  837.          Channel window scroller arrows and program menus were being rendered
  838.          with the pens for only the original screen that GV was opened on.
  839.          Moving GV to a new screen did not cause the menus and arrows to be
  840.          rerendered for that screen.
  841.  
  842.          Forgot to add /HELP information for /DESCRIBE.
  843.  
  844. 0.1659 - Screen/prefs settings now reset when "Load Settings" selected.
  845.  
  846.          Names list scroller is now the same width as the channel window
  847.          scroller.
  848.  
  849.          Grapevine was opening on Workbench when started if "Named Public
  850.          Screen" was selected in the display prefs.
  851.  
  852.          If display was changed to named public screen in display prefs, that
  853.          screen was not being moved to front.
  854.  
  855.          There was a problem on some machines with moving Grapevine to
  856.          a named public screen.  Some gadgets were not rendered.
  857.  
  858. 0.1653 - /DESCRIBE command added.  Also, incoming CTCP ACTION messages sent
  859.          directly to you instead of the channel are denoted by «Describe».
  860.  
  861.          /J and /L are now shortcuts for /JOIN and /LEAVE, respectively.
  862.  
  863. 0.1651 - /QUIT was causing serial users to crash or hit on exit.  Fixed.
  864.  
  865. 0.1650 - A silly word-wrap bug was introduced 0.1649, fixed now.
  866.  
  867. 0.1649 - Eliminated enforcer hit in /NAMES if no arguments were specified.
  868.  
  869.          "/NAMES *" and "/LIST *" now show full name and channel lists
  870.          properly.
  871.  
  872.          Word wrapping in channel window resize is now at least twice as
  873.          fast as before.
  874.  
  875. 0.1643 - Removed new bug that prevented scrolling with arrows.  (Was actually
  876.          scrolling 0 pixels.)
  877.  
  878.          Palette slider values were not set properly in ECS screenmodes when
  879.          display config window opened.
  880.  
  881.          I sort of fixed the chanop count problem in 0.1640, but in doing so
  882.          I introduced a different count problem.  NOW it's fixed.
  883.  
  884. 0.1640 - Display configuration window, including support for public, custom,
  885.          and custom public screens.  (A custom public screen is a public
  886.          screen which Grapevine creates.)  This obsoletes the GVPUBSCREEN
  887.          environment variable, which is no longer recognized.  A great deal
  888.          of work for one silly Changes file entry. :)
  889.  
  890.          /CD command temporarily disabled pending bug fix.
  891.  
  892.          Fixed a bug in the chanop counting method.  A mode change such as
  893.          "mode +ooo JoeUser JoeUser JoeUser" would result in adding 3 to
  894.          the chanop count.
  895.  
  896.          Voice and mode status now shown with images instead of text.
  897.          Furthermore, change of status does not cause an ugly refresh.
  898.  
  899.          Temporarily fixed a major bug that caused a crash on exit with TCP.
  900.  
  901.          Busy pointer now triggered properly when channel window is resized.
  902.  
  903.          A faked DCC command containing ':' would bring up a system
  904.          volume requester.
  905.  
  906.          More meaningful DCC error messages are now sent to the originating
  907.          party.
  908.  
  909.          Server information for /WHOIS and /WHOWAS is now reported as the
  910.          appropriate message type instead of always /WHOIS.
  911.  
  912.          The wrong letter was underlined in the gad¸get label for User name
  913.          in the network config window.
  914.  
  915.          If the icon window is closed when settings are saved, it will not
  916.          be opened when the program is run next time.
  917.  
  918. 0.1493 - A brand new channel window wasn't being set as the current window
  919.          for output of some command output... you had to deactivate and
  920.          reactivate it.
  921.  
  922.          Added IRC operator commands /KILL, /CONNECT, /SQUIT, /OPER, /REHASH,
  923.          and /RESTART.
  924.  
  925.          Channel window now has scroller arrows.
  926.  
  927.          The main Grapevine program now works in 4K of stack. However,
  928.          HFTgv should still be set to 40K to avoid crashing when Grapevine
  929.          returns control to it.
  930.  
  931.          LOST CHARACTER PROBLEMS **ELIMINATED**!!!  I've been working on
  932.          this problem for months, and FINALLY it's FIXED!  This bug
  933.          affected almost everybody, depending on the type and speed of
  934.          connection.  Serial.device clone users were most affected.
  935.  
  936.          The problem of input deadlock with MagicMenu, PowerSnap, and
  937.          Workbench icon dragging and drag-selecting is now eliminated.
  938.  
  939.          Error messages now report the server from which the message
  940.          originated.
  941.  
  942.          Now more willing to accept much longer incoming lines.  Also
  943.          eliminated possible problems if an incoming line did not terminate
  944.          before the input line buffer was full.
  945.  
  946.          If you changed your nickname, then someone else changed their
  947.          nick to what yours was, then to another nick, Grapevine would
  948.          report the second nick change as "Your nick is now ..."
  949.  
  950.          Second channel window was not opening in the right place unless
  951.          you first unactivated and reactivated the first channel window.
  952.  
  953.          /OP, /VOICE, /BAN, and their complements all now accept a channel
  954.          argument.
  955.  
  956.          Server password field was not being saved in the Network config.
  957.  
  958.          IRCLink fixed to compile under NEXTSTEP.  (Fix by Ezy)
  959.  
  960.          IRCLink is now much better at notifying Grapevine if the server
  961.          connection is lost.
  962.  
  963. 0.1416 - Will now start from Workbench, for AS225 only.  No tooltypes are
  964.          recognized.
  965.  
  966. 0.1408 - There was a serious bug in serial mode if Default.GVPrefs could
  967.          not be found.  It had to do with the empty username field, so now
  968.          if the default username is blank, the username will be used, which
  969.          is "Unknown" if no prefs file is found.
  970.          
  971.          Default window size/position now accounts for the icon window, and
  972.          the icon window is properly positioned below the titlebar.
  973.  
  974. 0.1395 - Amigaguide format documentation is now supplied.  Currently I
  975.          have completed basic documentation on all of the input commands,
  976.          menu items, and graphic icons, and some other miscellaneous
  977.          features.  The documentation is quite complete as far as Grapevine
  978.          itself is concerned, but does not cover IRC in general.  Please
  979.          advise me of any errors or inconsistencies you find.  This help
  980.          is not yet available online from within Grapevine.
  981.  
  982.          Now compiled with DICE Commercial 3.0.
  983.  
  984.          Re-registration was attemped on a nickname change.
  985.  
  986.          /ABOUT, /VOICE, /UNVOICE, /BANLIST commands added.
  987.  
  988.          If you did a "/msg ," followed by a "/msg .", the latter would
  989.          use "," as the nickname.
  990.  
  991.          Op/Voice status in lower left indicator was not reset on exiting
  992.          a channel.
  993.  
  994.          You now have a choice of 4 or 8 color icon set, and all of the
  995.          icons in the toolbar are fully operational.  There are quite a
  996.          few more icons which are completed but have no use at this time,
  997.          so I haven't included them in the toolbar until they have a
  998.          purpose.
  999.  
  1000.          Some empty CTCPs were causing enforcer hits.
  1001.  
  1002.          Clicking in the namelist window above the listview gadget will
  1003.          unselect any highlighted entries.
  1004.  
  1005.          Invite channel mode changes were changing the topic flag instead
  1006.          of the invite flag.
  1007.  
  1008.          Tool icons are no longer in channel window, but rather in a
  1009.          single dedicated window.  Icons will operate on the current/last
  1010.          active project where applicable.  Position of icon window will
  1011.          be saved in settings file.
  1012.  
  1013.          Fixed incorrect output when wrong key was used to join channel.
  1014.  
  1015.          When changing servers, channel op/voice status, away status, and
  1016.          user modes were not reset or carried over.  Now away is cleared,
  1017.          op/voice is set according to the server, and user modes are kept
  1018.          by sending the server the proper user mode command.
  1019.  
  1020.          "Op" wasn't set in the lower left gadget if you started a new
  1021.          channel.
  1022.  
  1023.          Input focus to the string gadget is now not lost for any reason
  1024.          as long as the window is active.  However, there is still chance
  1025.          for character loss between when the gadget is deactivated and
  1026.          reactivated when you are pasting several lines to the gadget
  1027.          with one of the snap commodities.
  1028.  
  1029.          Output of most actions now goes to the current window.  However,
  1030.          if you issue a command and change to another window, the reply
  1031.          will appear in the new window, not in that from which the
  1032.          command was issued which caused the output.  Normally not an
  1033.          issue unless there is a great deal of server lag.
  1034.  
  1035.          Op/Voice status in lower left gadget was not cleared if channel
  1036.          was left but window not closed.
  1037.  
  1038.          Default normal and zoom channel window settings are now saved in
  1039.          the config file.  The settings saved are based on the project
  1040.          which is active when the "Save Settings" menu option is selected.
  1041.  
  1042.          User settings window completed.  This is where all of the IRC
  1043.          text is defined, including nickname, user information, and
  1044.          default kick/away/quit messages.
  1045.  
  1046.          Network settings window completed.  This is where all of the
  1047.          net-related stuff is defined, like username, hostname, and
  1048.          server.
  1049.  
  1050.          No longer recognizes ANY ENV: variables except for USER,
  1051.          REALNAME, HOSTNAME, and GVPUBSCREEN since everything else is
  1052.          configured from within the program now. 
  1053.  
  1054.          Hopefully fixed obscure problems with keeping track of number of
  1055.          users in a channel. (Some PART messages were just being tossed out
  1056.          for some goofy reason.)  Also, number of users is no longer reported
  1057.          as a part of the /NAMES response.
  1058.  
  1059.          Removed Enforcer hit from MODE -l (removal of user limit).
  1060.  
  1061.          /CD command now implemented to change or view current directory.
  1062.          Applies to DCC transfers.
  1063.  
  1064.          DCC was not running if a size argument was not specified by older
  1065.          ircII clients.
  1066.  
  1067.          If a DCC cannot be accepted for some reason (DCCA.Send not found,
  1068.          etc.), the user originating the DCC will be automatically notified
  1069.          that the DCC attempt failed.
  1070.  
  1071.          /WHOWAS was being parsed as /WHOIS.
  1072.  
  1073.          Fixed DCC redirecting for serial users.
  1074.  
  1075.          The icon toolbar is now along the TOP of the channel window until I
  1076.          make it configurable to either top or side.
  1077.  
  1078.          If user registration fails, Grapevine will now try registering again.
  1079.  
  1080.          More info is reported in error statements from the server now, but
  1081.          I still haven't customized each error statement.
  1082.  
  1083.          Op and Voice info is now kept current in the lower left gadget.
  1084.  
  1085.          Whole window no longer erased when you change nickname.
  1086.  
  1087.          /MODE wasn't passing all arguments to the server if channel name
  1088.          wasn't specified.
  1089.  
  1090.          Added Grapevine commands /OPENWIN and /CLOSEWIN.
  1091.  
  1092.          Added IRC commands /ADMIN, /INFO, /LINKS, /LUSERS, /MOTD, /STATS,
  1093.          and /TRACE.
  1094.  
  1095.          Fixed up some help strings, namely for /WHOIS and /WHOWAS.
  1096.  
  1097.          "/MSG ," now properly sets the nick for "/MSG ."
  1098.  
  1099.          Temporarily kludged the output of STATS and TRACE to show all output.
  1100.          Also, all error messages should display full text from the server,
  1101.          although not necessarily in an organized fashion.
  1102.  
  1103. 0.1245 - Fixed enforcer hits caused by messages with no text (such as blank
  1104.          lines in the /RAW INFO response).
  1105.  
  1106.          Font used in channel text gadget will no longer change if you
  1107.          change the system default font.
  1108.  
  1109.          Fixed crash that would happen if the specified public screen could
  1110.          not be locked.
  1111.  
  1112.          Still was crashing if /server was used in serial mode.  Forgot to
  1113.          return after displaying error message.
  1114.  
  1115.          Changed how /MODE is parsed, so "/MODE b" works.
  1116.  
  1117.          DCC GET is now implemented in a rudimentary form thanks to ScottE's
  1118.          impatience. :)  You need to have the file "dcc-get" in the directory
  1119.          Grapevine was started from.  For now it is VERY basic, and 
  1120.          automatically receives files, to the current directory.
  1121.  
  1122.          Because of above, DCC redirection is now disabled if you are using
  1123.          AS225, but is still valid for serial users.
  1124.  
  1125.          I yet again changed the way in which window size is determined
  1126.          because of many of the incomplete RTG implementations out there,
  1127.          including Spectrum and Retina.
  1128.  
  1129.          Channel info is now cleared immediately when you /LEAVE a channel
  1130.          instead of waiting for the server to send the PART message.
  1131.  
  1132. 0.1234 - Added message to indicate /PING was initiated.
  1133.  
  1134.          Fixed bug in namelist building if more than one message was
  1135.          required to send the complete list (i.e., more than ~65 users).
  1136.  
  1137.          /VERSION now defaults to current server if not specified.
  1138.  
  1139.          /MSG and /NOTICE to a channel now appear in the correct windows,
  1140.          /MSG as if you had entered a normal public message and /NOTICE
  1141.          with '-' around your nick.
  1142.  
  1143.          Eliminated an enforcer hit which resulted from "/CTCP nick ping".
  1144.          I had assumed the user was using /PING.
  1145.  
  1146.          Added the /TIME command.  Help was there for it, and I even had
  1147.          the function prototype done but didn't do the function. :)
  1148.  
  1149.          The State and Settings menu items are now ghosted.  Selecting them
  1150.          caused the program to exit.
  1151.  
  1152.          Settings menu position changed to be the rightmost.
  1153.  
  1154.          "/MSG ." will now send a message to the last person/channel you
  1155.          send a message to.  Same for "/NOTICE ."
  1156.  
  1157.          DCC CHAT now refused.  Only DCC SEND is redirected to IRCDCCNICK.
  1158.  
  1159.          Was not recognizing the KILL message.  Assumed it to be KICK.
  1160.  
  1161.          Small bug in a control character stripping routine was messing up
  1162.          topic strings that included control characters.
  1163.  
  1164.          Greatly cleaned up /WHO response output.
  1165.  
  1166.          "/MSG ," will now send a message to the last person/channel you
  1167.          received a private message from.  Same for "/NOTICE ,"
  1168.  
  1169.          No longer compiled for 68030 CPU.  Will work on 68000.
  1170.  
  1171.          PUBSCREEN environment variable was renamed to GVPUBSCREEN.
  1172.  
  1173.          A new bug was introduced in 0.1213 that disabled /HELP UNBAN.
  1174.  
  1175.          /BAN and /UNBAN now both take up to three arguments, and support
  1176.          the nick!user@host format.  /BAN actually did before, but it was
  1177.          documented in /HELP as only taking a nickname.
  1178.  
  1179.          Domain-wide messages were reported as being sent to the person
  1180.          who sent it instead of to the domain.
  1181.  
  1182.          Fixed recent bug that caused CTCP replies to be chopped after the
  1183.          first word.
  1184.  
  1185.          Fixed a throughput problem with serial operation.
  1186.  
  1187.          /M is now an alias for /MSG.
  1188.  
  1189.          /VERSION and /TIME no longer depend on the server name being known
  1190.          by Grapevine (affected serial users).
  1191.  
  1192.          Fixed how windows are sized and positioned on screen.
  1193.  
  1194. 0.1213 - /SERVER command had big problems if you had an invalid nickname
  1195.          (usually "Nickname already taken" due to net lag).  You would
  1196.          be stuck in the channels like it was before I added channel
  1197.          rejoining.  Now it SHOULD always work, unless a server does
  1198.          not send the expected welcome message.
  1199.  
  1200.          If a channel mode changed after you've been disconnected and
  1201.          before you reconnect using /SERVER, you would be stuck in the
  1202.          channels in Grapevine but will not be "joined" by the server. 
  1203.          Window join info will be cleared if you cannot rejoin the
  1204.          channel.
  1205.  
  1206.          Channel modes are now properly updated in the titlebar when
  1207.          they are changed.
  1208.  
  1209.          Added /SIGN and /SIGNOFF aliases for /QUIT.
  1210.  
  1211.          «Bad Data» IS NO MORE when using sockets!  
  1212.          
  1213.          Fixed problems with a complete /list, /names, or /who overflowing
  1214.          the buffer in both serial and socket modes.
  1215.  
  1216.          Bug fixed in a socket closing thing if an unusual error occurred.
  1217.  
  1218.          /LIST response was causing enforcer hits if there was no topic set.
  1219.  
  1220.          If you close a channel window to leave a channel, the message that
  1221.          you have left is now hidden.  It is rather obvious you left.
  1222.  
  1223.          Fixed up a few of the more important server error message reports.
  1224.  
  1225. 0.1190 - Fixed problems a couple people were having with the namelist
  1226.          gadget sizing itself too narrow.
  1227.  
  1228.          Eliminated possibility of enforcer hits resulting from textless
  1229.          PRIVMSGs and NOTICEs.  Those are illegal, and possibly occured
  1230.          for one person because of the problems with bad data in the
  1231.          socket code.
  1232.  
  1233.          Now requires keyword LOCAL on command line to start up in local
  1234.          mode.
  1235.  
  1236.          /SERVER command is now disabled in local mode.  Would crash if
  1237.          used before because it assumed sockets were already set up.
  1238.  
  1239.          /INVITE message (when inviting another user to a channel) has
  1240.          the parameters reversed.
  1241.  
  1242.          Fixed simple bug in /SERVER command that prevented registration
  1243.          information from being sent to the new server after being
  1244.          disconnected by the server.
  1245.  
  1246.          Channels now rejoined after /SERVER command.
  1247.  
  1248. 0.1173 - Fixed really stupid bug that destroyed the machine on serial
  1249.          startup.  Still can crash on exit for some way unknown reason.
  1250.  
  1251. 0.1172 - Fixed nasty bug where a refresh was attempted on the namelist
  1252.          window after it was closed, causing the program to go south.
  1253.  
  1254.          Bug fixed where long unwrapped lines would create a blank line
  1255.          after them.
  1256.  
  1257.          Resizing a channel window that was not full yet made lines not
  1258.          appear until there were enough to start scrolling.  Fixed.
  1259.  
  1260.          Existance of variables USER and IRCNICK checked on startup.
  1261.          Grapevine will not start without these defined (or NICK specified
  1262.          on the command line).
  1263.  
  1264.          "Unknown" is now default for HOSTNAME and REALNAME.  They are
  1265.          only used at this time for CTCP FINGER response, so they still
  1266.          should be defined to something meaningful.
  1267.  
  1268.          Channel /NAMES list would only keep the last part of the list if
  1269.          there were too many names for the server to send in a single
  1270.          RPL_NAMREPLY message.
  1271.  
  1272.          Made string gadgets in channel mode window wider.
  1273.  
  1274.          Removed output of RPL_ENDOFNAMES because it was redundant.
  1275.          (Number of users/chanop indicates list was complete.)
  1276.  
  1277.          Added PUBSCREEN keyword to specify a screen other than Workbench
  1278.          which Grapevine should open on.  Grapevine will exit if the
  1279.          named public screen is not found.
  1280.  
  1281.          Scrolling now works right when buffer fills up and old messages
  1282.          are deleted from the top.
  1283.  
  1284.          Scrollback size reduced to 64K, which gives you about 1600 lines.
  1285.  
  1286.          Program was not exiting when there was an error configuring the
  1287.          serial port.
  1288.  
  1289.          About window image updated.
  1290.  
  1291.          Encrypted messages now go to the correct window.
  1292.  
  1293.          CTCP requests from other users are now hidden until I make that
  1294.          optional.
  1295.  
  1296.          Windows now open by default just under the titlebar in the
  1297.          upper left and are sized such that the channel window + userlist
  1298.          window fill the width of the screen.  Also, new windows are
  1299.          positioned just beneath the titlebar of the previous window.
  1300.  
  1301.          Mode changes are now correctly reported, and in plain English
  1302.          even!
  1303.  
  1304.          /MODE command was messed up if you tried to set or view user
  1305.          mode.  Also would display help if you only specified a channel
  1306.          with no mode arguments, which now displays the current mode for
  1307.          that channel.  And it did not send the command to the server for
  1308.          "/MODE #channel".
  1309.  
  1310.          Fixed a problem with the /UNBAN command.
  1311.  
  1312.          Added REALNAME and USER CLI arguments.  USER may not stay at
  1313.          release time to avoid problems with excessive hacking.  Although
  1314.          a setenv is just as easy.
  1315.  
  1316.          Bold, underline and inverse are now rendered in the channel
  1317.          window.
  1318.  
  1319. 0.1126 - Added IRCPASS env variable for server password.  Also added a
  1320.          password argument for the /SERVER command.
  1321.  
  1322.          Users are no longer made +s by default (don't ask me why it
  1323.          was doing this, but I fixed it).
  1324.  
  1325.          Fixed target window for RPL_TOPIC and RPL_TOPICSETBY messages.
  1326.  
  1327.          Cleaned up irclink, notably removing the quit-on-ctrl-g thing.
  1328.          A leftover from the program's old use.  (Sending a ^G from GV
  1329.          would quit irclink and close the server connection.)
  1330.  
  1331.          Made the string and integer gadgets in the channel mode window
  1332.          a little wider.
  1333.  
  1334.          Added commands /TIME and /VERSION.
  1335.  
  1336.          All beeps removed.
  1337.  
  1338.          DCCs were being redirected to RedWine automatically.. useful
  1339.          for me, but not for anyone else. :)  Now there is an environment
  1340.          variable DCCNICK which you can set to the nick of another
  1341.          IRC login, presumably using the ircII client.  Any DCC requests
  1342.          sent to the Grapevine client will be automatically redirected
  1343.  
  1344.          Maximum scrollback size increased to 384K until full-buffer
  1345.          scrolling bug is fixed.
  1346.  
  1347. 0.1115 - Fixed gadget sizing for the userlist gadget.
  1348.  
  1349.          CTRL-C from the ReadArgs() prompt left signals hanging, fixed.
  1350.  
  1351. 0.1112 - Added /PING command.  Reports seconds to bounce a ping message
  1352.          from a user or all users in a channel.
  1353.  
  1354.          Added server option to LIST command.
  1355.  
  1356.          Changed the userlist gadget to use the default monospaced font.
  1357.          Since I can't use clipping regions in a listview callback because
  1358.          it is called sometimes within a BeginRefresh/EndRefresh, this is
  1359.          the only fix for the bug where fonts would overwrite the gadget.
  1360.          The window's width is also fixed now.
  1361.  
  1362. 0.1107 - Fixed the refreshing in the listviews.  Slower systems than mine
  1363.          (50 MHz 030) would pause when the list changed.
  1364.  
  1365.          /KICK was only sending the first word of the reason text if the
  1366.          channel name was not specified.
  1367.  
  1368.          Channel string gadget now activated when window is first opened.
  1369.  
  1370. 0.1100 - Consider this the first actual beta release.  Some changes were
  1371.          made since the alpha releases:
  1372.  
  1373.          NOW it should no longer crash on exit under AS225.
  1374.  
  1375.          String gadget is always activated when the window is activated.
  1376.          Menu command keys are not available until I do the callback hook.
  1377.  
  1378.          Clicking on the chanop icon now will toggle op status.
  1379.  
  1380.          Channel window positioned just below the titlebar.
  1381.  
  1382.          Userlist window now positioned to the right of the channel window
  1383.          if there is room, based on the actual channel window dimensions.
  1384.  
  1385.          Environment variable "USERNAME" changed to "USER" to be
  1386.          consistent with everything else out there.
  1387.